"""
logging 示例代码
"""
import logging

# 配置日志
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)

def logging_vs_print_demo():
    def calculate_with_print(a,b):
        print(f"开始计算{a}+{b}")
        result=a+b
        print(result)
        return result

    def calculate_with_logging(a,b):
        logger.debug(f"开始计算{a}+{b}")
        result=a+b
        logger.info(result)
        return result

    print("使用print进行调试:")
    calculate_with_print(3, 5)
    
    print("\n使用logging进行调试:")
    # 临时调整日志级别以显示DEBUG信息
    original_level = logger.level
    logger.setLevel(logging.DEBUG)
    calculate_with_logging(3, 5)
    logger.setLevel(original_level)

    print("\n演示日志级别控制:")
    # debug信息默认不会显示（因为日志级别是INFO）
    logger.debug("这是一条DEBUG级别的日志")
    # info信息会显示
    logger.info("这是一条INFO级别的日志")
    # warning信息会显示
    logger.warning("这是一条WARNING级别的日志")
    # error信息会显示
    logger.error("这是一条ERROR级别的日志")

if __name__ == "__main__":
    logging_vs_print_demo()